/*
 * @Author: your name
 * @Date: 2021-08-01 17:00:56
 * @LastEditTime: 2021-08-04 19:47:01
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \hairdressing_web\src\common\interceptor\http.interceptor.js
 */
import Request from './requestInterceptor'
import base from '../config/base'

const install = (Vue, vm) => {
  // 此为自定义配置参数，具体参数见上方说明
  Vue.prototype.$u.http.setConfig(base.base)
  // 请求拦截器
  Vue.prototype.$u.http.interceptor.request = Request.request
  // 响应拦截器
  Vue.prototype.$u.http.interceptor.response = res => {
    if (res.code === 401) {
      // 假设401为token失效，这里跳转登录
      vm.$u.toast('登录过期啦')
      uni.setStorageSync('token', false)
      setTimeout(() => {
        // 跳转界面
        uni.switchTab({
          url: '/pages/my/index'
        })
      }, 500)
      return false
    } else if (res.code === 500) {
      return false
    } else {
      // 如果返回false，则会调用Promise的reject回调，
      // 并将进入this.$u.post(url).then().catch(res=>{})的catch回调中，res为服务端的返回值
      return res
    }
  }
}

export default {
  install
}
